import PyQt5.QtWidgets as qtw
import PyQt5.QtGui as qtg
class Pig4Window(qtw.QWidget):
def __init__(self):
super().__init__()
# 視窗標題
self.setWindowTitle("泥好 FormLayout")
# 設定目前這個視窗的layout為表單形式
formLayout = qtw.QFormLayout()
self.setLayout(formLayout)
# 新增標籤
my_label = qtw.QLabel("Day3 PyQt")
my_label.setFont(qtg.QFont("Arial", 44)) # 設定標籤文字的字型&大小
height = qtw.QLineEdit(self)
weight = qtw.QLineEdit(self)
formLayout.addRow(my_label)
formLayout.addRow("身高", height)
formLayout.addRow("體重", weight)
formLayout.addRow(qtw.QPushButton("按我輸入", clicked = lambda: press()))
# 顯示視窗
self.show()
def press():
my_label.setText(f"已經按下按鈕, 你的身高:{height.text()} 公分 體重:{weight.text()} 公斤")
app = qtw.QApplication([])
p4w = Pig4Window()
app.exec_()
成功執行畫面如下 :
身高輸入 163 , 體重輸入 46, 並且按下"按我輸入"的按鈕, 畫面如下 :
要先載sudo apt install qttools5-dev-tools
(我是使用Ubuntu)
Windows 用pip install PyQt5 PyQt5Designer
載完以後就可以啟動看看了使用designer
或desinger.exe
成功的話畫面如下:
Step1:選擇 Main Window, 建立
現在來看看方便快速的操作了,拖曳就可以完成了
Step2:從左邊拖曳 Push Button 跟一個 Label 進來
像這樣:
Step3:從右邊設定他們的屬性(像是文字大小字型等),最重要的是幫標籤 & 按鈕取名字,方便以後做操作
像這樣:
Step4:存檔,按左上角檔案存檔,記得存到pyqt5資料夾下,存成day3.ui
Step5:將剛剛存的.ui 轉成 .py,只要在你的 terminal 輸入pyuic5 -x day3.ui -o day3.py
檔案就會多一個 day3.py 出來:
Step6:現在可以來執行 day3.py 看看了
成功的話畫面如下:
Step7:幫按鈕加功能,點開 day3.py ,新增一個函式給它
def press(self):
self.my_label.setText("完成 Day3")
Step8:找到建立按鈕的那行,給它我們剛剛新增的函式self.my_button= QtWidgets.QPushButton(self.centralwidget, clicked=lambda:self.press())
Step9:執行,成功畫面如下:
按下"按我!!",畫面如下:
恭喜Day3已經完成,今天學習到新方法,有沒有覺得超級方便又快速阿!明天再繼續學酷東西 Bye~